1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for distributing data items. Still more particularly the invention relates to a method and apparatus for distributing data items that are change-controlled.
2. Description of Related Art
In a distributed systems management environment, a central manager or server operates with many end points, also referred to as clients. A systems management profile is a set of data records resident on a server that are used to model instances of some entity being managed on its clients. A profile contains two types of data records: regular profile records and profile meta-records. Both types of records are comprised of profile record properties, which are data structures that model the name, type, and value of a data item on a client. Both types of records contain the same properties, but settings in regular profile records pertain to exactly one instance of a managed entity on a client, while settings in profile meta-records assist in the management of the profile""s regular records. Examples of meta-records include the defaults record, which contains default values for certain properties of newly-created profile records, and the validation record, which defines restrictions for the values of certain properties with which all of the profile""s regular records must comply.
In profile operations, a large number of data records may be passed from the server to the clients. While the server""s version of a managed data item normally replaces the client""s version, certain profile properties are change-controlled. Change control means that the server""s value for a particular data item must not replace the client""s unless certain conditions are met. One example of a change-controlled property is a password. The server and client vessions of an account""s password are expected to diverge over time since the client operating system periodically requires its users to update their passwords, so a client""s password must be replaced only when a system administrator has explicitly changed the server""s version of the password.
Another example of a property requiring change control is a login. The server""s version of the login cannot always replace the client""s because there may not be sufficient information available to correctly identify the client account that is to have its login replaced; this will be the case if the server and client versions of the account""s login don""t match prior to the server""s login change.
Yet another example of a change-controlled property is a UNIX user ID (UID). Properly controlling changes of a UNIX UID is a significant issue because some users or customers want all instances of a particular account to have the same UID, while other customers want to allow these instances to have various UIDs on various client machines.
Therefore, it would be advantageous to have an improved method and apparatus for managing distribution of change-controlled data items to clients.
The present invention provides a method and apparatus in a data processing system for managing distribution of data structures. A first data structure is received including a first version identifier. The version identifier is stored for the first data structure. A second structure is received including a second version identifier. Responsive to receiving a second data structure, a determination is made as to whether the second data structure is a replacement for the first data structure. Responsive to the second data structure being a replacement for the first data structure, a determination is made as to whether the first version identifier is different from the second version identifier. Responsive to a determination that the first version identifier is different from the second version identifier, the first data structure is replaced with the second data structure.